方法的重载(overload)
视频锁定
{$ currentTime | date:'mm:ss' $}
{$ timeLeft | date:'mm:ss' $}
重载的意义是两个方法的名称相同,但参数不同,所以,重载与多态毫无关系。重载可以有同一方法的多个不同参数版本以方便调用。比如,如果某个方法需要int,调用方就得将double转换成int然后才能调用。若你有个重载版本取用double参数,则这样对调用方来说简单多了,直接调用就好了。因为重载方法不是用来满足定义在父类的多态合约,所以重载的方法比较有扩展性。
重载版的方法只是刚好有相同名字的不同方法,它与继承或多态无关。重载的方法与覆盖方法不一样。
返回类型可以不同
你可以任意地改变重载方法的返回类型,只要所有的覆盖使用不同的参数即可。
不能只改变返回类型
如果只有返回类型不同,但参数一样,这是不允许的。编译器不会让这样的事情过关,就算是重载,也要让返回类型是父类版返回类型的子类。重载的条件是要使用不同的参数,此时返回类型可以自由地定义。
可以更改存取权跟
你可以任意地设定overload版method的存取权限。
在线练习
{$ activeFileHint $}